package com.jic.member.mapper;

import com.jic.member.entity.TLabel;
import com.jic.member.request.TLabelAddedRequest;
import com.jic.member.response.TLabelResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TLabelMapper {
    /**
     * T_LABEL插入数据
     *
     * @param tLabel 入参实体类
     */
    int insert(TLabel tLabel);

    /**
     * T_LABEL插入数据
     *
     * @param tLabel 入参实体类
     */
    int insertSelective(TLabel tLabel);

    /**
     * T_LABEL根据表对象数据修改数据
     *
     * @param tLabel 入参实体类
     */
    int updateByPrimaryKey(TLabel tLabel);

    /**
     * T_LABEL根据表对象数据修改数据
     *
     * @param tLabel 入参实体类
     */
    int updateByPrimaryKeySelective(TLabel tLabel);

    /**
     * T_LABEL根据id删除数据
     *
     * @param tLabel 入参实体类
     */
    int deleteByPrimaryKey(TLabel tLabel);

    /**
     * T_LABEL根据主键查询数据
     *
     * @param tLabel 入参实体类
     */
    TLabel selectByPrimaryKey(TLabel tLabel);

    /**
     * T_LABEL根据主键查询数据
     *
     * @param tLabel 入参实体类
     */
    List<TLabel> listPageBySelective(@Param("tLabel") TLabel tLabel, @Param("startIndex") int startIndex, @Param("limit") int limit);


    /**
     * T_TEMPLATE根据主键查询数据
     *
     * @param tLabel 入参实体类
     */
    Long listPageBySelectiveCount(@Param("tLabel") TLabel tLabel);


    /**
     * T_LABEL根据主键查询数据
     *
     * @param tLabel 入参实体类
     */
    List<TLabel> queryCustomLabelPage(@Param("tLabel") TLabel tLabel, @Param("startIndex") int startIndex, @Param("limit") int limit);


    /**
     * T_TEMPLATE根据主键查询数据
     *
     * @param tLabel 入参实体类
     */
    Long queryCustomLabelPageCount(@Param("tLabel") TLabel tLabel);

    /**
     * T_LABEL查询数据
     *
     * @param tLabel 入参实体类
     */
    List<TLabel> selectBySelective(TLabel tLabel);


    /**
     * T_LABEL查询数据
     *
     * @param tLabel 入参实体类
     */
    List<TLabel> selectLabelEnumBySecondLabelName(TLabel tLabel);


    /**
     * T_LABEL查询模型标签
     *
     * @param tLabel 入参实体类
     */
    List<TLabelResponse> listPageAllLabel(@Param("tLabel") TLabel tLabel, @Param("startIndex") int startIndex, @Param("limit") int limit);


    /**
     * T_LABEL查询模型标签
     *
     * @param tLabel 入参实体类
     */
    Long listPageAllLabelCount(@Param("tLabel") TLabel tLabel);


    /**
     * T_LABEL查询模型标签
     *
     * @param tLabel 入参实体类
     */
    List<TLabelResponse> listPageAddedLabel(@Param("tLabel") TLabelAddedRequest tLabel, @Param("startIndex") int startIndex, @Param("limit") int limit);


    /**
     * T_LABEL查询模型标签
     *
     * @param tLabel 入参实体类
     */
    Long listPageAddedLabelCount(@Param("tLabel") TLabelAddedRequest tLabel);

    /**
     * 会员使用标签查询
     *
     * @param tLabel
     * @return
     */
    List<TLabel> selectBySelectiveMember(TLabel tLabel);
}
